package com.chuangsi.project.admin.dto.app.order;


import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author wangshengming
 * @date 2023/3/28
 */
@Data
public class ReqSignDto {
    @ApiModelProperty(value = "微信支付id")
    @NotNull(message="微信支付id不能为空")
    private Long payOrderId;

    @ApiModelProperty(value = "产品id")
    @NotBlank(message="产品id不能为空")
    @Size(max=32,message="产品id长度过长")
    private String productId;

    @ApiModelProperty(value = "合同模板id")
    @NotBlank(message="合同模板id不能为空")
    @Size(max=32,message="合同模板id长度过长")
    private String agreementId;

    @ApiModelProperty(value = "客户名称")
    @NotBlank(message="客户名称不能为空")
    @Size(max=30,message="客户名称长度过长")
    private String customName;

    @ApiModelProperty(value = "客户联系方式")
    @NotBlank(message="客户联系方式不能为空")
    @Size(max=30,message="客户联系方式长度过长")
    private String customPhone;

    @ApiModelProperty(value = "客户身份证号")
    @NotEmpty(message="客户身份证号不能为空")
    @Size(max=18,message="客户身份证号长度过长")
    private String customIdCard;

    @ApiModelProperty(value = "车架号")
    @NotEmpty(message="车架号不能为空")
    @Size(max=17,message="车架号长度过长")
    private String vin;

    @ApiModelProperty(value = "发动机号")
    @NotEmpty(message="发动机号不能为空")
    @Size(max=20,message="发动机号长度过长")
    private String engineNo;

    @ApiModelProperty(value = "新车发票价格")
    @Size(max=30,message="新车发票价格长度过长")
    private String carInvoicePrice;

    @ApiModelProperty(value = "销售金额")
    private BigDecimal money;

    @ApiModelProperty(value = "产品类型（1.原厂代销，2.其他代销，3.传统）")
    @NotBlank(message="产品类型（1.原厂代销，2.其他代销，3.传统）不能为空")
    @Size(max=1,message="产品类型（1.原厂代销，2.其他代销，3.传统）长度过长")
    private String type;

    @ApiModelProperty(value = "支付类型（1.全款，2.分期）")
    @NotBlank(message="支付类型（1.全款，2.分期）不能为空")
    @Size(max=1,message="支付类型（1.全款，2.分期）长度过长")
    private String payType;

    @ApiModelProperty(value = "部门id")
    @NotNull(message = "部门id不能为空")
    private Long deptId;

    @ApiModelProperty(value = "合同详情")
    private String agreementDetail;

    @ApiModelProperty(value = "自定义字段（json格式）")
    private String selfField;

    @ApiModelProperty(value = "电子签名图片uri")
    private String signUri;

    @ApiModelProperty(value = "附件")
    private List<FileDto> fileList;

    @ApiModelProperty(value = "是否自己购买（1.是  2否）")
    @NotNull(message = "请选择是否自己购买")
    @Max(value = 2,message = "是否自己购买参数错误")
    @Min(value = 1,message = "是否自己购买参数错误")
    private Integer ourselfBuy;

    @ApiModelProperty(value = "备注")
    private String remark;
}
